package com.example.demo.controller;


import com.example.demo.server.ComputerMesServer;

import org.apache.juli.FileHandler;
import org.hyperic.sigar.SigarException;
//import org.slf4j.Logger;
//import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;

import java.io.IOException;
import java.net.UnknownHostException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Map;
import java.util.logging.Logger;


/**
 * 1、数据展示面板
 * 2、整合cpu的信息  (完成)
 * 3、summary、cpu、memory、net分别打印到不同的日志
 * 4、整理sigar在linux中部署的文档。(完成)
 */

@RestController
public class MsgController {

	@Autowired
	ComputerMesServer computerMesServer;



	@GetMapping("/summary")
	public String summary() throws UnknownHostException {
		Logger logger=Logger.getLogger(MsgController.class.toString());
		StringBuffer logPath=new StringBuffer();
		logPath.append("/root/service/log/summary");     //设置保存路径

		//设置文件名
		SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
		logPath.append("/"+sdf.format(new Date())+".log");

		//将输出handler加入logger
		try {
			logPath.toString();FileHandler fileHandler=new FileHandler(logPath.toString(),"summary-",".log",30);

			logger.addHandler(fileHandler);
		}catch (Exception e){
			e.printStackTrace();
		}

		String message = computerMesServer.property();
		System.out.println("summary 数据 ："+message);
		logger.info("summary 数据 ："+message);
		return 	message;
	}

//	//cpu总量参数情况
//	@GetMapping("/cpu")
//	public Map cpu() throws SigarException {
//		Logger logger=Logger.getLogger(MsgController.class.toString());
////		JSONObject jsonObject=JSONObject.fromObject(map);
////		JSON json = JSON.
//		StringBuffer logPath=new StringBuffer();
//		logPath.append("/root/cpu");     //设置保存路径
//
//		//设置文件名
//		SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
//		logPath.append("\\"+sdf.format(new Date())+".log");
//
//		//将输出handler加入logger
//		try {
//			logPath.toString();FileHandler fileHandler=new FileHandler(logPath.toString(),"cpu-",".log",30);
//
//			logger.addHandler(fileHandler);
//		}catch (Exception e){
//			e.printStackTrace();
//		}
//		Map message = computerMesServer.cpu();
//		System.out.println("cpu 总量参数情况："+message);
//		logger.info("cpu 总量参数情况："+message);
//		return message;
//
//	}
//
//	//cpu总百分比情况
//	@GetMapping("/cpuPerc")
//
//	public String cpuPerc() throws SigarException {
//		Logger logger=Logger.getLogger(MsgController.class.toString());
//		StringBuffer logPath=new StringBuffer();
//		logPath.append("/root/cpuPerc");     //设置保存路径
//
//		//设置文件名
//		SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
//		logPath.append("\\"+sdf.format(new Date())+".log");
//
//		//将输出handler加入logger
//		try {
//			logPath.toString();FileHandler fileHandler=new FileHandler(logPath.toString(),"cpuPerc-",".log",30);
//
//			logger.addHandler(fileHandler);
//		}catch (Exception e){
//			e.printStackTrace();
//		}
//		String message = computerMesServer.cpuPerc();
//		System.out.println("cpuPerc 总百分比情况："+message);
//		logger.info("cpuPerc 总百分比情况 ："+message);
//		return message;
//
//	}

//	@GetMapping("/memory")
//	public String memory() throws SigarException {
//		Logger logger=Logger.getLogger(MsgController.class.toString());
//		StringBuffer logPath=new StringBuffer();
//		logPath.append("/root/memory");     //设置保存路径
//
//		//设置文件名
//		SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
//		logPath.append("\\"+sdf.format(new Date())+".log");
//
//		//将输出handler加入logger
//		try {
//			logPath.toString();FileHandler fileHandler=new FileHandler(logPath.toString(),"memory-",".log",30);
//
//			logger.addHandler(fileHandler);
//		}catch (Exception e){
//			e.printStackTrace();
//		}
//		String message = computerMesServer.memory();
//		System.out.println("memory 数据 ："+message);
//		logger.info("memory 数据 ："+message);
//		return message;
//	}
//
//	@GetMapping("/net")
//	public String net() throws Exception {
//		Logger logger=Logger.getLogger(MsgController.class.toString());
//		StringBuffer logPath=new StringBuffer();
//		logPath.append("/root/net.log");     //设置保存路径
//
//		//设置文件名
//		SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
//		logPath.append("\\"+sdf.format(new Date())+".log");
//
//		//将输出handler加入logger
//		try {
//			logPath.toString();FileHandler fileHandler=new FileHandler(logPath.toString(),"su",".log",30);
//
//			logger.addHandler(fileHandler);
//		}catch (Exception e){
//			e.printStackTrace();
//		}
//		String message = computerMesServer.net();
//		System.out.println("net 数据 ："+message);
//		logger.info("net 数据 ："+message);
//		return message;
//	}
}
